<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<style type="text/css">

body {
  font-family: sans-serif;
  background-color: #FFF;
  color:#000;
}

img {
  border: 0;
}

ul.menu { 
   position:relative;
   margin-bottom:0px;
   margin-top:0px;
   left:-2.5em;
}

a { text-decoration: none; }

a:hover { font-weight: bold; }

li.menu { 
   list-style-type: none;
   position: relative;
   text-decoration: none;
}


#sidebar { 
   position: absolute;
   left:0px;
   padding:2em;
   top:0em;
   width:13em;
}

#content { 
  position: absolute;
  left:13em; top:0em;
  padding-left:3em;
  padding-right:3em;
  padding-bottom:1em;
  margin-top:1em;
  margin-right:2em;
}

div.mbox {
  background-color:#EEEEFF;
  border: 1px solid #bbbbff;
  padding: 0.5em 0.5em 0.5em 0.5em;
  margin:1em;
  width: 10em;
  -moz-border-radius-topleft: 9px;	
  -moz-border-radius-topright: 9px;
  -moz-border-radius-bottomleft: 9px;	
  -moz-border-radius-bottomright: 9px;
}

div.title { 
  font-weight:bold; 
  background-color:#DDDDFF; 
  margin-bottom:1px;
}

</style>
<title>ucanvcam: Effect Class Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
<LINK REL="SHORTCUT ICON" HREF="favicon.ico">
</head><body>

<div id="sidebar"> 

<h2 style="text-align:center;">ucanvcam</h2>



<div class="mbox">
<div class=title>The Manual</div>
<ul class=menu>
<li class=menu><a href="index.html">Main&nbsp;Page</a></li>
<li class=menu><a href="annotated.html">Classes</a></li>
<li class=menu><a href="install.html">Installation</a></li>
<li class=menu><a href="linux_tips.html">Linux Tips</a></li>
<li class=menu><a href="windows_tips.html">Windows Tips</a></li>
</ul>
</div>

<div class="mbox">
<div class=title>Online Resources</div>
<ul class=menu>
<li class=menu><a href="http://code.google.com/p/ucanvcam/">Project page</a></li>
<li class=menu><a href="http://code.google.com/p/ucanvcam/downloads/list">Downloads</a></li>
<li class=menu><a href="http://code.google.com/p/ucanvcam/w/list">Wiki</a></li>
<li class=menu><a href="http://code.google.com/p/ucanvcam/source/checkout">Repository</a></li>
</ul>
</div>


<div class="mbox">
<div class=title>Related&nbsp;Links</div>
<ul class=menu>
<li class=menu><a href="http://eris.liralab.it/yarp">YARP</a></li>
<li class=menu><a href="http://www.makesweet.com/">MakeSweet</a></li>
<li class=menu><a href="http://effectv.sourceforge.net/">EffecTV</a></li>
<li class=menu><a href="http://www.allocinit.com/index.php?title=CamTwist">CamTwist</a></li>
</ul>



</div>

<center>
<i><small>generated by doxygen</small></i>
</center>


</div>


<div id="content" >

<!-- Generated by Doxygen 1.5.5 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="annotated.html"><span>Class&nbsp;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&nbsp;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&nbsp;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Effect Class Reference</h1><!-- doxytag: class="Effect" -->Base class for all effects.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;Effect.h&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for Effect:</div>
<div class="dynsection">

<p><center><img src="classEffect.png" usemap="#Effect_map" border="0" alt=""></center>
<map name="Effect_map">
<area href="classEngageEffect.html" alt="EngageEffect" shape="rect" coords="0,56,91,80">
<area href="classOverlayEffect.html" alt="OverlayEffect" shape="rect" coords="101,56,192,80">
<area href="classParamEffect.html" alt="ParamEffect" shape="rect" coords="202,56,293,80">
<area href="classPicmixEffect.html" alt="PicmixEffect" shape="rect" coords="303,56,394,80">
<area href="classPortEffectTV.html" alt="PortEffectTV" shape="rect" coords="404,56,495,80">
<area href="classTickerEffect.html" alt="TickerEffect" shape="rect" coords="505,56,596,80">
</map>
</div>

<p>
<a href="classEffect-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="58ef340fb485dfa9d11d772c7ed4ea90"></a><!-- doxytag: member="Effect::open" ref="58ef340fb485dfa9d11d772c7ed4ea90" args="(yarp::os::Searchable &amp;config)" -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#58ef340fb485dfa9d11d772c7ed4ea90">open</a> (yarp::os::Searchable &amp;config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Configure an effect, and prepare it to run. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="69256c845b706b63677a87d060be9629"></a><!-- doxytag: member="Effect::close" ref="69256c845b706b63677a87d060be9629" args="()" -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#69256c845b706b63677a87d060be9629">close</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Shut an effect down. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="68153459aa689db491d7654658b905d6"></a><!-- doxytag: member="Effect::reconfigure" ref="68153459aa689db491d7654658b905d6" args="(yarp::os::Searchable &amp;config)" -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#68153459aa689db491d7654658b905d6">reconfigure</a> (yarp::os::Searchable &amp;config)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Reconfigure an effect while it is running. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="aa847888782c0c4a8b66ba213747c948"></a><!-- doxytag: member="Effect::getConfiguration" ref="aa847888782c0c4a8b66ba213747c948" args="()" -->
virtual yarp::os::Property&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#aa847888782c0c4a8b66ba213747c948">getConfiguration</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Recover the configuration of an effect. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#6712f0106ef9b0f7983bd43166808f21">draw</a> (yarp::sig::ImageOf&lt; yarp::sig::PixelRgb &gt; &amp;src, yarp::sig::ImageOf&lt; yarp::sig::PixelRgb &gt; &amp;dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modify an image in an effect-specific way.  <a href="#6712f0106ef9b0f7983bd43166808f21"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="25091d88fbac71150817ccee45105113"></a><!-- doxytag: member="Effect::pdraw" ref="25091d88fbac71150817ccee45105113" args="(yarp::sig::Image &amp;src, yarp::sig::Image &amp;dest)" -->
virtual yarp::sig::Image *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#25091d88fbac71150817ccee45105113">pdraw</a> (yarp::sig::Image &amp;src, yarp::sig::Image &amp;dest)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Modify an image in any format in an effect-specific way, producing an output in any format. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6c21860f136929583987a8fe3ba3bb3"></a><!-- doxytag: member="Effect::getName" ref="c6c21860f136929583987a8fe3ba3bb3" args="()" -->
virtual std::string&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#c6c21860f136929583987a8fe3ba3bb3">getName</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Get the name of an effect. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="144d9f7f7ec8a6d69e4fb5cd49684c09"></a><!-- doxytag: member="Effect::start" ref="144d9f7f7ec8a6d69e4fb5cd49684c09" args="()" -->
virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#144d9f7f7ec8a6d69e4fb5cd49684c09">start</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare the effect for operation. <br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual bool&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classEffect.html#22e1a125086c38f05b13df3411f8edfb">stop</a> ()</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepare the effect to cease operation.  <a href="#22e1a125086c38f05b13df3411f8edfb"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Base class for all effects. 
<p>
For convenience, we treat effects as DeviceDrivers in YARP -- entities that can be created by name, and passed configuration information at runtime. <hr><h2>Member Function Documentation</h2>
<a class="anchor" name="6712f0106ef9b0f7983bd43166808f21"></a><!-- doxytag: member="Effect::draw" ref="6712f0106ef9b0f7983bd43166808f21" args="(yarp::sig::ImageOf&lt; yarp::sig::PixelRgb &gt; &amp;src, yarp::sig::ImageOf&lt; yarp::sig::PixelRgb &gt; &amp;dest)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Effect::draw           </td>
          <td>(</td>
          <td class="paramtype">yarp::sig::ImageOf&lt; yarp::sig::PixelRgb &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">yarp::sig::ImageOf&lt; yarp::sig::PixelRgb &gt; &amp;&nbsp;</td>
          <td class="paramname"> <em>dest</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Modify an image in an effect-specific way. 
<p>
This is an RGB-to-RGB specialization of <a class="el" href="classEffect.html#25091d88fbac71150817ccee45105113" title="Modify an image in any format in an effect-specific way, producing an output in any...">Effect::pdraw</a> - it should return false if there is no such specialization. 
</div>
</div><p>
<a class="anchor" name="22e1a125086c38f05b13df3411f8edfb"></a><!-- doxytag: member="Effect::stop" ref="22e1a125086c38f05b13df3411f8edfb" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual bool Effect::stop           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prepare the effect to cease operation. 
<p>
It may be started again without a close/open cycle. 
<p>Reimplemented in <a class="el" href="classPortEffectTV.html#6304fe78a1562751edfa1a46b210838d">PortEffectTV</a>, and <a class="el" href="classParamEffect.html#0ab9e6d39aa2f5648a5a099b7a5ca26f">ParamEffect</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li>src/common/Effect.h</ul>
</div>

</div>

</body>
</html>
